The present invention is directed to a data storage system for data processing. In particular, the invention is directed to dynamically reallocating physical storage resources for more efficient use.
Today, there is a hunger for information that has given rise to the availability of an almost infinite supply of data maintained by a variety of data complexes and data warehouses for storing and providing access to that data. One form of such a data complex is a computing architecture that will typically comprise a number of data processing systems communicatively coupled to a large data storage facility that is often realized by a large collection of disk storage units because of their ability to provide, among other things, fast access to the stored data.
The growth of Internet use has fed this hunger, and added the requirement, that data be continuously available. Continuous availability desire, if not is most often achieved by many database complexes through resort to such techniques as xe2x80x9cmirroringxe2x80x9d (i.e. using redundant storage to maintain a copy of everything written to the main storage element), error correction of various types and the like. Redundant arrays of independent (or inexpensive) disks (RAID) is one example. Certain RAID configurations or xe2x80x9clevelsxe2x80x9d protect the stored data by using data striping which spreads the blocks of each file across multiple disks, correcting errors when encountered; however, redundancy is not used. Although performance is improved, fault tolerance is not delivered. Other RAID levels (e.g., level 1) do provide disk mirroring to add data redundancy and thereby fault tolerance.
While these techniques operate well to provide a measure of redundancy and fault tolerance and, therefore, some continuous availability of the stored data, they can be overloaded when there is a database complex is called upon to respond to a large volume of requests for the stored data at one time. Thus, although continuous availability is now a feature of many database complexes and data warehouse configurations, they still can present a performance impediment by limiting the number of accesses that can be made at any particular moment in time.
One approach to improving performance of a disk storage system is provided by the system shown in U.S. Pat. No. 6,108,750, which describes a data storage system that includes a plurality of physical disk units for storing multiple copies of the stored data. I/O read requests received by a controller will be assigned to one or another of the disk units not active (i.e., not then handling an assigned request). If no disk unit in inactive at the time a read request is received, it is held, pending the availability of an inactive disk unit. This approach allows multiple I/O read requests to be serviced in parallel, thereby providing improved response performance. However, a limiting factor is the number of physical disk units available so that a system can be overwhelmed if the number of received I/O read and write requests becomes large.
An extension of this approach is taught in patent application Ser. No. 09/813,281, filed Mar. 20, 2001, for Load Distribution of Multiple Disks (hereinafter, xe2x80x9cReferenced Application). The Referenced Application involves use of a logical volume management system by a storage controller to create a number of logical volumes that map to corresponding portions of a physical storage area implemented by physical disk units or other storage medium. The data stored at each mapped physical storage portion mirrors that of the other mapped physical storage portions, again providing performance improvement through parallel servicing of I/O requests. In addition, the extent of the mapped portions of physical storage can be preset so that the entire amount of physical storage can be parsed as needed. This allows the storage system to be set to accommodate a predetermined activity level without being overwhelmed. Unfortunately, it does not allow easy adjustment of the parsing to adjust for changing conditions of activity over time.
The present invention is directed to providing a storage system with the capability of dynamically responding to changes in the input/output (I/O) activity it handles by adjustments that more evenly spread usage across the physical storage area.
Broadly, the invention is implemented in a storage control unit that manages data transfers (I/O read/write requests) between one or more host processor systems and a physical storage area. A preferred aspect of the invention implements the storage area with a number of physical disk storage units where multiple copies of the data are kept and made available for access. According to a broad aspect of the invention, the storage control unit monitors the I/O activity of the disk storage units. If it is determined that one or more of them is experiencing a higher than desired level of activity, the manner of accessing the physical storage is reconfigured to, in effect, create additional copies of the data, thereby making the data more accessible, and more evenly spreading the I/O activity across all disk storage units of the storage area. Conversely, if it is determined that one or more of the individual physical disk storage units is underutilized, the access process may again be reconfigured to, in effect, reduce the number of data copies.
The control unit preferably includes multiple processor units to provide a platform for simultaneously operating multiple processes to concurrently service multiple I/O data requests from the host systems. The control unit employs logical volume management with a number of logical volumes that each map to corresponding portion of the physical storage, thereby operating to parse or divide physical storage into multiple storage portions.
Preferably, the boundaries of each storage portion is a disk unit for ease of implementation, although those skilled in this art will recognized that other boundaries may be employed. For example, a first logical volume may map to 75% of a first disk unit; a second logical volume maps to the remaining 25% of the first unit and 50% of a second disk unit; a third logical volume maps to the remaining 50% of the second disk unit and 25% of a third disk unit; and so on.
I/O read requests, when received from the host systems, are assigned to one or another of the logical volumes which, in turn, map to one or another of the physical storage area portions. I/O write requests are assigned to a specific one of the logical volumes and, thereby, written to the physical storage to which the one logical volume maps. Data on that physical volume is then copied to the rest of physical storage having logical mappings, thereby xe2x80x9cmirroringxe2x80x9d that data.
According to the present invention, the activity or inactivity of each physical storage area portions (e.g., disk unit) is monitored. If it appears that one or more storage area portions are experiencing more activity than other storage area portions, the logical volumes management reconfigures the logical to physical storage mapping to increase the number of logical volumes and thereby increase the number of available copies of the data. Thus, high volumes of I/O requests can be more evenly distributed so that no one of the storage area portions will be inordinately burdened.
Conversely, should it be determined that one or more storage area portions are experiencing disproportionate inactivity, the reconfiguration of the logical volume division will decrease the number of logical volumes available for handling I/O requests to decrease the number of copies of the data.
A number of advantages are achieved by the present invention. First, is that by providing the ability of dynamically reconfiguring the way physical storage is managed and accessed, the storage system is capable of evenly distributing I/O requests for parallel servicing in the face of changing activity levels. The storage system is able to maintain high operating performance at all times.
An additional advantage is that performance is maintained at a optimum level, matching the loads put of the storage system.
These and other aspects and advantages of the present invention in its various embodiments will become apparent to those skilled in this art upon a reading of the following detailed description of the invention, which should be taken in conjunction with the accompanying drawings.